/*****************************************************************************
 * vlc_open_dialog.h : GTK+ plugin for vlc
 *****************************************************************************/
 
#ifndef __VLC_OPEN_DIALOG_H
#define __VLC_OPEN_DIALOG_H

#include <gtk/gtk.h>

G_BEGIN_DECLS

#define VLC_TYPE_OPEN_DIALOG         (vlc_open_dialog_get_type ())
#define VLC_OPEN_DIALOG(obj)         (G_TYPE_CHECK_INSTANCE_CAST ((obj), VLC_TYPE_OPEN_DIALOG, VlcOpenDialog))
#define VLC_OPEN_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VLC_TYPE_OPEN_DIALOG, VlcOpenDialogClass))
#define VLC_IS_OPEN_DIALOG(obj)      (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VLC_TYPE_OPEN_DIALOG))

typedef struct _VlcOpenDialog VlcOpenDialog;
typedef struct _VlcOpenDialogClass VlcOpenDialogClass;

struct _VlcOpenDialog
{
  GtkDialog dialog;
  
  /* Private */

  GtkWidget *notebook;
  GtkWidget *more_options;
  
  GtkWidget *chooser;
  GtkWidget *subtitle_frame;

};

struct _VlcOpenDialogClass
{
  GtkDialogClass dialog_class;
};

enum {

  VLC_OPEN_DIALOG_FILE,
  VLC_OPEN_DIALOG_DISC,
  VLC_OPEN_DIALOG_NETWORK,
  VLC_OPEN_DIALOG_CAPTURE_DEVICE

};

GType      vlc_open_dialog_get_type (void) G_GNUC_CONST;
GtkWidget* vlc_open_dialog_new (GtkWindow *parent, int page_id);

void       vlc_open_dialog_set_active_page (VlcOpenDialog *dialog, gint page_id);

G_END_DECLS

#endif /* __VLC_OPEN_DIALOG_H */

